package com.pethome.pet.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pethome.common.core.domain.AjaxResult;
import com.pethome.pet.domain.Pet;

import java.util.List;

/**
 * 宠物信息Service接口
 * 
 * @author hjc
 * @date 2024-08-26
 */
public interface IPetService extends IService<Pet>
{


    public List<Pet> getListByPet(Pet pet);


    /**
     * 获取 n 条可以领养的宠物信息
     * @return list
     */
    public List<Pet>  getPetList();

    /**
     * 首页展示宠物信息
     * @return
     */
    public List<Pet> show();

    /**
     * 修改宠物状态
     * @param status 宠物状态 1-收容审批，2-已收容，3-领养审批，4-已被领养，5-宠物丢失
     * @return 修改的行数
     */
    public Integer updatePetStatus(Long petId,Long status);


    /**
     * 查询宠物信息
     *
     * @param petId 宠物信息主键
     * @return 宠物信息
     */
    public Pet selectPetByPetIdAndStatus(Long petId);














    /**
     * 查询宠物信息
     * 
     * @param petId 宠物信息主键
     * @return 宠物信息
     */
    public Pet selectPetByPetId(Long petId);

    /**
     * 查询宠物信息列表
     * 
     * @param pet 宠物信息
     * @return 宠物信息集合
     */
    public List<Pet> selectPetList(Pet pet);

    /**
     * 新增宠物信息
     * 
     * @param pet 宠物信息
     * @return 结果
     */
    public int insertPet(Pet pet);

    /**
     * 修改宠物信息
     * 
     * @param pet 宠物信息
     * @return 结果
     */
    public int updatePet(Pet pet);

    /**
     * 批量删除宠物信息
     * 
     * @param petIds 需要删除的宠物信息主键集合
     * @return 结果
     */
    public int deletePetByPetIds(Long[] petIds);

    /**
     * 删除宠物信息信息
     * 
     * @param petId 宠物信息主键
     * @return 结果
     */
    public int deletePetByPetId(Long petId);
}
